package svc

import (
	"encoding/json"
	"fmt"
	"github.com/shugen/models"
)

func (s *Svc) men_gong_common(mg *models.MenGong) ([]*Desc, error) {

	desc := make([]*Desc, 0)
	rsp, err := s.SelectMenGong(mg)
	if err != nil {
		return desc, err
	}
	err = json.Unmarshal([]byte(rsp.Desc), &desc)
	if err != nil {
		return desc, err
	}
	return desc, nil
}

//(宫和门的关系5，门生宫，门克宫，门宫相同，宫克门，宫生门)
func (s *Svc) men_gong(gong, men, sex string) []*Desc {

	//var result string
	result := make([]*Desc, 0)

	//宫克门（金克木）
	if (gong == "2" || gong == "7") && (men == "3" || men == "8") {
		rsp, err := s.men_gong_common(&models.MenGong{Type: 3})
		if err != nil {
			fmt.Println("宫克门error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "大环境克制他的发展，趋势来了抓不住机会。")
	}
	//宫克门（木克土）
	if (gong == "3" || gong == "8") && (men == "5") {

		rsp, err := s.men_gong_common(&models.MenGong{Type: 3})
		if err != nil {
			fmt.Println("宫克门error:", err)
		}
		result = append(result, rsp...)

		//result = append(result, "大环境克制他的发展，趋势来了抓不住机会。")
	}
	//宫克门（土克水）
	if (gong == "5" || gong == "0") && (men == "1" || men == "6") {

		rsp, err := s.men_gong_common(&models.MenGong{Type: 3})
		if err != nil {
			fmt.Println("宫克门error:", err)
		}
		result = append(result, rsp...)

		//result = append(result, "大环境克制他的发展，趋势来了抓不住机会。")
	}
	//宫克门（土克水）（men==0，男就是阳水，女就是阳火）
	if (gong == "5" || gong == "0") && men == "0" && sex == "male" {

		rsp, err := s.men_gong_common(&models.MenGong{Type: 3})
		if err != nil {
			fmt.Println("宫克门error:", err)
		}
		result = append(result, rsp...)

		//result = append(result, "大环境克制他的发展，趋势来了抓不住机会。")
	}
	//宫克门（水克火）
	if (gong == "1" || gong == "6") && (men == "4" || men == "9") {
		rsp, err := s.men_gong_common(&models.MenGong{Type: 3})
		if err != nil {
			fmt.Println("宫克门error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "大环境克制他的发展，趋势来了抓不住机会。")
	}
	//宫克门（水克火），（men==0，男就是阳水，女就是阳火）
	if (gong == "1" || gong == "6") && men == "0" && sex == "female" {
		rsp, err := s.men_gong_common(&models.MenGong{Type: 3})
		if err != nil {
			fmt.Println("宫克门error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "大环境克制他的发展，趋势来了抓不住机会。")
	}
	//宫克门（火克金）
	if (gong == "4" || gong == "9") && (men == "2" || men == "7") {

		rsp, err := s.men_gong_common(&models.MenGong{Type: 3})
		if err != nil {
			fmt.Println("宫克门error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "大环境克制他的发展，趋势来了抓不住机会。")
	}

	//宫生门（金生水）（men==0，男就是阳水，女就是阳火
	if (gong == "2" || gong == "7") && (men == "1" || men == "6") {

		rsp, err := s.men_gong_common(&models.MenGong{Type: 0})
		if err != nil {
			fmt.Println("宫生门error:", err)
		}
		result = append(result, rsp...)

		//result = append(result, "顺应大趋势，好机会比较多，能抓住机会。")
	}
	if (gong == "2" || gong == "7") && men == "0" && sex == "male" {

		rsp, err := s.men_gong_common(&models.MenGong{Type: 0})
		if err != nil {
			fmt.Println("宫生门error:", err)
		}
		result = append(result, rsp...)

		//result = append(result, "顺应大趋势，好机会比较多，能抓住机会。")
	}
	//宫生门（水生木）
	if (gong == "1" || gong == "6") && (men == "3" || men == "8") {

		rsp, err := s.men_gong_common(&models.MenGong{Type: 0})
		if err != nil {
			fmt.Println("宫生门error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "顺应大趋势，好机会比较多，能抓住机会。")
	}
	//宫生门(木生火)（men==0，男就是阳水，女就是阳火
	if (gong == "3" || gong == "8") && (men == "4" || men == "9") {

		rsp, err := s.men_gong_common(&models.MenGong{Type: 0})
		if err != nil {
			fmt.Println("宫生门error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "顺应大趋势，好机会比较多，能抓住机会。")
	}
	if (gong == "3" || gong == "8") && men == "0" && sex == "female" {

		rsp, err := s.men_gong_common(&models.MenGong{Type: 0})
		if err != nil {
			fmt.Println("宫生门error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "顺应大趋势，好机会比较多，能抓住机会。")
	}
	//宫生门（火生土）
	if (gong == "4" || gong == "9") && men == "5" {

		rsp, err := s.men_gong_common(&models.MenGong{Type: 0})
		if err != nil {
			fmt.Println("宫生门error:", err)
		}
		result = append(result, rsp...)
	}
	//宫生门（土生金）
	if (gong == "5" || gong == "0") && (men == "2" || men == "7") {

		rsp, err := s.men_gong_common(&models.MenGong{Type: 0})
		if err != nil {
			fmt.Println("宫生门error:", err)
		}
		result = append(result, rsp...)
	}

	//宫门相同都是水（men==0，男就是阳水，女就是阳火）
	if (gong == "1" || gong == "6") && men == "0" && sex == "male" {

		rsp, err := s.men_gong_common(&models.MenGong{Type: 2})
		if err != nil {
			fmt.Println("宫同门error:", err)
		}
		result = append(result, rsp...)
	}
	if (gong == "1" || gong == "6") && (men=="1" || men=="6") {

		rsp, err := s.men_gong_common(&models.MenGong{Type: 2})
		if err != nil {
			fmt.Println("宫同门error:", err)
		}
		result = append(result, rsp...)
	}
	//宫门相同都是金
	if (gong == "2" || gong == "7") && (men == "2" || men == "7") {

		rsp, err := s.men_gong_common(&models.MenGong{Type: 2})
		if err != nil {
			fmt.Println("宫同门error:", err)
		}
		result = append(result, rsp...)
	}
	//宫门相同都是木
	if (gong == "3" || gong == "8") && (men == "3" || men == "8") {

		rsp, err := s.men_gong_common(&models.MenGong{Type: 2})
		if err != nil {
			fmt.Println("宫同门error:", err)
		}
		result = append(result, rsp...)
	}
	//宫门相同都是火（men==0，男就是阳水，女就是阳火）
	if (gong == "4" || gong == "9") && men == "0" && sex == "female" {
		rsp, err := s.men_gong_common(&models.MenGong{Type: 2})
		if err != nil {
			fmt.Println("宫同门error:", err)
		}
		result = append(result, rsp...)
	}
	if (gong == "4" || gong == "9") && (men == "4" || men == "9") {
		rsp, err := s.men_gong_common(&models.MenGong{Type: 2})
		if err != nil {
			fmt.Println("宫同门error:", err)
		}
		result = append(result, rsp...)
	}
	//宫门相同都是土
	if (gong == "5" || gong == "0") && men == "5"  {

		rsp, err := s.men_gong_common(&models.MenGong{Type: 2})
		if err != nil {
			fmt.Println("宫同门error:", err)
		}
		result = append(result, rsp...)
	}




	//门生宫(金生水)
	if (men == "2" || men == "7") && (gong == "1" || gong == "6") {

		rsp, err := s.men_gong_common(&models.MenGong{Type: 1})
		if err != nil {
			fmt.Println("门生宫error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "追着趋势跑，但是也能抓到机会，只是会特别辛苦。")
	}
	//门生宫(水生木)（men==0，男就是阳水，女就是阳火）
	if (men == "1" || men == "6") && (gong == "3" || gong == "8") {
		//result = append(result, "追着趋势跑，但是也能抓到机会，只是会特别辛苦。")
		rsp, err := s.men_gong_common(&models.MenGong{Type: 1})
		if err != nil {
			fmt.Println("门生宫error:", err)
		}
		result = append(result, rsp...)
	}
	if men == "0" && sex == "male" && (gong == "3" || gong == "8") {
		rsp, err := s.men_gong_common(&models.MenGong{Type: 1})
		if err != nil {
			fmt.Println("门生宫error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "追着趋势跑，但是也能抓到机会，只是会特别辛苦。")
	}
	//门生宫(木生火)
	if (men == "3" || men == "8") && (gong == "4" || gong == "9") {
		rsp, err := s.men_gong_common(&models.MenGong{Type: 1})
		if err != nil {
			fmt.Println("门生宫error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "追着趋势跑，但是也能抓到机会，只是会特别辛苦。")
	}
	//门生宫(火生土)（men==0，男就是阳水，女就是阳火）
	if (men == "4" || men == "9") && (gong == "5" || gong == "0") {
		rsp, err := s.men_gong_common(&models.MenGong{Type: 1})
		if err != nil {
			fmt.Println("门生宫error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "追着趋势跑，但是也能抓到机会，只是会特别辛苦。")
	}
	if men == "0" && sex == "female" && (gong == "5" || gong == "0") {
		rsp, err := s.men_gong_common(&models.MenGong{Type: 1})
		if err != nil {
			fmt.Println("门生宫error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "追着趋势跑，但是也能抓到机会，只是会特别辛苦。")
	}
	//门生宫(土生金)
	if men == "5" && (gong == "2" || gong == "7") {
		rsp, err := s.men_gong_common(&models.MenGong{Type: 1})
		if err != nil {
			fmt.Println("门生宫error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "追着趋势跑，但是也能抓到机会，只是会特别辛苦。")
	}

	//门克宫(金克木)
	if (men == "2" || men == "7") && (gong == "3" || gong == "8") {
		rsp, err := s.men_gong_common(&models.MenGong{Type: 4})
		if err != nil {
			fmt.Println("门克宫error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "不顺应大环境，与趋势作对，不自信，容易错失机会。")
	}
	//门克宫(木克土)
	if (men == "3" || men == "8") && (gong == "5" || gong == "0") {
		//result = append(result, "不顺应大环境，与趋势作对，不自信，容易错失机会。")
		rsp, err := s.men_gong_common(&models.MenGong{Type: 4})
		if err != nil {
			fmt.Println("门克宫error:", err)
		}
		result = append(result, rsp...)
	}
	//门克宫(土克水)
	if men == "5" && (gong == "1" || gong == "6") {
		//result = append(result, "不顺应大环境，与趋势作对，不自信，容易错失机会。")
		rsp, err := s.men_gong_common(&models.MenGong{Type: 4})
		if err != nil {
			fmt.Println("门克宫error:", err)
		}
		result = append(result, rsp...)
	}
	//门克宫(水克火) （men==0，男就是阳水，女就是阳火）
	if (men == "1" || men == "6") && (gong == "4" || gong == "9") {
		//result = append(result, "不顺应大环境，与趋势作对，不自信，容易错失机会。")
		rsp, err := s.men_gong_common(&models.MenGong{Type: 4})
		if err != nil {
			fmt.Println("门克宫error:", err)
		}
		result = append(result, rsp...)
	}
	if men == "0" && sex == "male" && (gong == "4" || gong == "9") {
		//result = append(result, "不顺应大环境，与趋势作对，不自信，容易错失机会。")
		rsp, err := s.men_gong_common(&models.MenGong{Type: 4})
		if err != nil {
			fmt.Println("门克宫error:", err)
		}
		result = append(result, rsp...)
	}
	//门克宫(火克金)（men==0，男就是阳水，女就是阳火）
	if (men == "4" || men == "9") && (gong == "2" || gong == "7") {
		//result = append(result, "不顺应大环境，与趋势作对，不自信，容易错失机会。")
		rsp, err := s.men_gong_common(&models.MenGong{Type: 4})
		if err != nil {
			fmt.Println("门克宫error:", err)
		}
		result = append(result, rsp...)
	}
	if men == "0" && sex == "female" && (gong == "2" || gong == "7") {
		//result = append(result, "不顺应大环境，与趋势作对，不自信，容易错失机会。")
		rsp, err := s.men_gong_common(&models.MenGong{Type: 4})
		if err != nil {
			fmt.Println("门克宫error:", err)
		}
		result = append(result, rsp...)
	}

	return result
}
